home *** CD-ROM | disk | FTP | other *** search
/ The PC-SIG Library 10 / The PC-Sig Library - Shareware for the IBM PC and Compatibles (PC-SIG)(Tenth Edition Disks 1-2804)(1991).iso / PC_SIGCD / 20 / 9 / DISK2092.ZIP / RFIX0227.ZIP / RSB30227.MRG < prev    next >
Text File  |  1990-02-28  |  10KB  |  234 lines

  1. * ------------[ BLED merge (c) Ken Goosens ]-------------
  2. * Merge this against D:\172B\RBBSSUB3.BAS to produce RBBSSUB3.BAS
  3. * D:\172B\RBBSSUB3.BAS:  Date 2-11-1990  Size 114935 bytes
  4. * ------------[ Created 02-28-1990 10:05:16 ]------------
  5. * REPLACING old line(s) by new
  6. 20293 ' $SUBTITLE: 'SendName - send FILENAME using EXEC-PC protocol'
  7. ' $PAGE
  8. '
  9. '  NAME    -- SendName
  10. '
  11. '  INPUTS  --  PARAMETER                    MEANING
  12. '              ZUserIn$()                ARRAY OF FILENAME FOR AUTODOWNLOAD
  13. * ------[ first line different ]------
  14. '              ZAnsIndex                 Index OF FILENAME TO Transfer ' RH021501
  15. '
  16. '  OUTPUTS --  ZAbort                    -1 FOR AN ABORTED ATTEMPT
  17. '
  18. '  PURPOSE -- Send the download filename to user during an autodownload
  19. '
  20.       SUB SendName STATIC
  21. '
  22. '
  23. ' *  Transfer FILENAME TO USER
  24. ' *         PROCESS - SEND USER THE "ALERT" CHARACTER SEQUENCE -- <ESC>OD
  25. ' *                   THEN THIS IS FOLLOWED BY CHARACTER-BY-CHARACTER
  26. ' *                   TRANSMISSION OF THE FILENAME WITH ECHO.  IF ANY OF THE
  27. ' *                   CHARACTERS OF THE FILENMAE ARE GARBLED A SERIES OF
  28. ' *                   <CAN> ARE SENT, OTHERWISE AN <ACK> IS SENT AT
  29. ' *                   COMPLETION AND FILE Transfer BEGINS.
  30. '
  31. '
  32.       ZAbort = ZFalse                    ' RESET ABORT FLAG
  33.       Attempts = 0                       ' RESET COUNT FOR # OF TRANS Attempts
  34. * REPLACING old line(s) by new
  35. 20296 CALL FlushCom(ZWasY$)              ' CLEAR THE COMM BUFFER OF GARBAGE
  36.       IF ZSubParm = -1 THEN _
  37.          EXIT SUB
  38.       CALL PutCom (ZEscape$+"OD")         ' SEND "ALERT" STRING
  39.       IF ZSubParm = -1 THEN _
  40.          EXIT SUB
  41.       IF ZAbort = ZTrue THEN _
  42.          GOTO 20306
  43.       CALL LPrnt("Sending FILENAME -- ",1)
  44.       CALL LPrnt(ZReturnLineFeed$ + CHR$(9),0)
  45.       CALL DelayTime (1)                   ' WAIT 1 SECOND FOR SETUP
  46. '
  47. '               SEND ONE CHARACTER AT A TIME
  48. '
  49. * ------[ first line different ]------
  50.       CALL BreakFileName (ZUserIn$(ZAnsIndex),WasX$,ZOutTxt$,ZWasY$,ZTrue) ' RH021501
  51.       ZOutTxt$ = ZOutTxt$ + ZWasY$ + "=X"                            ' RH021501
  52.       FOR WasX = 1 TO LEN(ZOutTxt$)
  53.          CALL PutCom (MID$(ZOutTxt$,WasX,1))     ' SEND 1 CHARACTER
  54.          IF ZSubParm = -1 THEN _
  55.             EXIT SUB
  56.          IF ZAbort = ZTrue THEN _
  57.             GOTO 20306
  58.          CALL LPrnt(MID$(ZOutTxt$,WasX,1),0)     ' DISPLAY IF NEEDED
  59.          ZDelay! = TIMER + 10            ' SET MAXIMUM TIME TO WAIT FOR Reply
  60.          Char = ZTrue
  61.          WHILE Char = -1
  62.             CALL CheckTime(ZDelay!, TempElapsed!, 1)
  63.             IF TempElapsed! <= 0 THEN _
  64.                GOTO 20300     ' IF ZNo ECHO, CANCEL FILENAME Transfer
  65.             CALL EofComm (Char)
  66.          WEND                 ' JUMP OUT IF CHARACTER IS RECEIVED
  67. * REPLACING old line(s) by new
  68. 43070 ZActiveMessageFile$ = ZOrigMsgFile$
  69.       ZSubParm = 3
  70.       CALL FileLock
  71.       CALL OpenMsg
  72.       FIELD 1, 128 AS ZMsgRec$
  73.       GET 1,ZNodeRecIndex
  74.       IF ZGlobalSysop THEN _
  75.          MID$(ZMsgRec$,1,30) = "SYSOP" + SPACE$(25)
  76.       MID$(ZMsgRec$,40,2) = STR$(ZExitToDoors)
  77.       MID$(ZMsgRec$,42,2) = STR$(ZEightBit)
  78.       MID$(ZMsgRec$,44,2) = STR$(ZBPS)
  79.       MID$(ZMsgRec$,46,2) = STR$(ZUpperCase)
  80. * ------[ first line different ]------
  81.       MID$(ZMsgRec$,48,5) = MKS$(ZNumDnldBytes!) + MID$(STR$(-ZBatchTransfer),2) ' KG022101
  82.       MID$(ZMsgRec$,53,2) = STR$(ZWasGR)
  83.       MID$(ZMsgRec$,55,2) = STR$(ZSysop)
  84.       MID$(ZMsgRec$,65,3) = CHR$(VAL(LEFT$(ZTimeLoggedOn$,2))) + _
  85.                                    CHR$(VAL(MID$(ZTimeLoggedOn$,4,2))) + _
  86.                                    CHR$(VAL(MID$(ZTimeLoggedOn$,7,2)))
  87.       MID$(ZMsgRec$,72,2) = STR$(ZPrivateDoor)
  88.       MID$(ZMsgRec$,74,1) = MID$(STR$(ZTransferFunction),2,1)
  89.       MID$(ZMsgRec$,75,1) = ZWasFT$
  90.       MID$(ZMsgRec$,113,2) = MKI$(CINT(ZTimeCredits!)/60)
  91.       MID$(ZMsgRec$,79,8) = LEFT$(ZDooredTo$+"        ",8)
  92.       MID$(ZMsgRec$,91,2) = STR$(ZReliableMode)
  93.       CALL BreakFileName (ZCurPUI$,ZOutTxt$,ZUserIn$,ZWasZ$,ZFalse)
  94.       MID$(ZMsgRec$,93,8) = ZUserIn$ + SPACE$(8 - LEN(ZUserIn$))
  95.       MID$(ZMsgRec$,101,2) = STR$(ZLocalUser)
  96.       MID$(ZMsgRec$,103,2) = STR$(ZLocalUserMode)
  97.       ZConfName$ = LEFT$(ZConfName$,INSTR(ZConfName$ + " "," ") - 1)
  98.       MID$(ZMsgRec$,105,8) = ZConfName$ + SPACE$(8 - LEN(ZConfName$))
  99.       MID$(ZMsgRec$,115,1) = MID$(STR$(ZAutoLogoffReq),2,1)
  100.       MID$(ZMsgRec$,117,2) = STR$(ZMenuIndex)
  101.       MID$(ZMsgRec$,119,2) = LEFT$(DATE$,2)
  102.       MID$(ZMsgRec$,121,2) = MID$(DATE$,4,2)
  103.       MID$(ZMsgRec$,123,2) = RIGHT$(DATE$,2)
  104.       MID$(ZMsgRec$,125,2) = LEFT$(TIME$,2)
  105.       MID$(ZMsgRec$,127,2) = MID$(TIME$,4,2)
  106. ' ***   Save additional parameters for door restoral
  107.       CALL OpenOutW (ZNodeWorkDrvPath$+"DRST"+ZNodeFileID$+".DEF")
  108.       CALL PrintWorkA (STR$(ZLimitMinsPerSession))
  109.       CLOSE 2
  110. * REPLACING old line(s) by new
  111. 44000 ' $SUBTITLE: 'ReadProf - subroutine to restore a user profile'
  112. ' $PAGE
  113. '
  114. '  NAME    -- ReadProf
  115. '
  116. '  INPUTS  --     PARAMETER                    MEANING
  117. '              ZNodeRecIndex               NODE RECORD TO USE
  118. '              ZSysopPswd1$               Sysop'S PSEUDONYM 1
  119. '              ZSysopPswd2$               Sysop'S PSEUDONYM 2
  120. '
  121. '  OUTPUTS -- USER'S OPTIONS AND COMMUNICATIONS PARAMETERS
  122. '             UPON EXITING RBBS-PC TO A "DOOR"
  123. '
  124. '  PURPOSE -- Reset a user's options and communications parameters
  125. '             that were saved in the node record when a user exited
  126. '             to a "door" so that he is in the same status as when
  127. '             he exited.
  128. '
  129.       SUB ReadProf STATIC
  130.       FIELD 1, 128 AS ZMsgRec$
  131.       GET 1,ZNodeRecIndex
  132.       ZReliableMode = VAL(MID$(ZMsgRec$,91,2))
  133.       MID$(ZMsgRec$,40,2) = "00"
  134.       ZEightBit = VAL(MID$(ZMsgRec$,42,2))
  135.       ZBPS = VAL(MID$(ZMsgRec$,44,2))
  136.       CALL CommInfo
  137.       ZBaudTest! = VAL(MID$(ZBaudRates$,(-5 * ZBPS),5))
  138.       ZUpperCase = VAL(MID$(ZMsgRec$,46,2))
  139. * ------[ first line different ]------
  140.       ZNumDnldBytes! = CVS(MID$(ZMsgRec$,48,4))                      ' KG022101
  141.       ZBatchTransfer = (MID$(ZMsgRec$,52,1) = "1")
  142.       ZWasGR = VAL(MID$(ZMsgRec$,53,2))
  143.       HourLoggedOn$ = RIGHT$("0"+MID$(STR$(ASC(MID$(ZMsgRec$,65,1))),2),2)
  144.       MinLoggedOn$  = RIGHT$("0"+MID$(STR$(ASC(MID$(ZMsgRec$,66,1))),2),2)
  145.       SecLoggedOn$  = RIGHT$("0"+MID$(STR$(ASC(MID$(ZMsgRec$,67,1))),2),2)
  146.       ZTimeLoggedOn$ = HourLoggedOn$ + _
  147.                         ":" + _
  148.                         MinLoggedOn$ + _
  149.                         ":" + _
  150.                         SecLoggedOn$
  151.       ZTransferFunction = VAL(MID$(ZMsgRec$,74,1))
  152.       ZWasFT$ = MID$(ZMsgRec$,75,1)
  153.       ZTimeCredits! = 60*CVI(MID$(ZMsgRec$,113,2))
  154.       ZDooredTo$ = MID$(ZMsgRec$,79,8)
  155.       CALL Trim (ZDooredTo$)
  156.       IF ZExitToDoors AND ZDooredTo$ <> "" THEN _
  157.          CALL OpenWork (2,ZDoorsDef$) : _
  158.          IF ZErrCode = 0 THEN _
  159.             CALL ReadParms (ZOutTxt$(),8,1) : _
  160.             WHILE ZErrCode = 0 AND ZOutTxt$(1) <> ZDooredTo$ : _
  161.                CALL ReadParms (ZOutTxt$(),8,1) : _
  162.             WEND : _
  163.             IF ZOutTxt$(1) = ZDooredTo$ THEN _
  164.                ZDoorSkipsPswd = (ZOutTxt$(6) <> "Y") : _
  165.                CALL BufFile (ZOutTxt$(7),WasX)
  166.       ZErrCode = 0
  167.       ZMenuIndex = VAL(MID$(ZMsgRec$,117,2))
  168.       ZCurPUI$ = MID$(ZMsgRec$,93,8)
  169.       CALL Remove (ZCurPUI$," ")
  170.       IF ZCurPUI$ <> "" THEN _
  171.          CALL BreakFileName (ZMainPUI$,ZOutTxt$,ZUserIn$,ZWasZ$,ZTrue) : _
  172.          ZCurPUI$ = ZOutTxt$ + ZCurPUI$ + ZWasZ$
  173.       ZCustomPUI = (ZCurPUI$ <> "")
  174.       ZLocalUser = VAL(MID$(ZMsgRec$,101,2))
  175.       ZLocalUserMode = VAL(MID$(ZMsgRec$,103,2))
  176.       ZHomeConf$ = MID$(ZMsgRec$,105,8)
  177.       ZAutoLogoffReq = (VAL(MID$(ZMsgRec$,115,1)) <> 0)
  178.       CALL Trim (ZHomeConf$)
  179.       IF ZRequiredRings > 0 AND _
  180.          INSTR(ZModemInitCmd$,"S0=255") THEN _
  181.          COLOR 7,0,0 _
  182.       ELSE COLOR ZFG,ZBG,ZBorder
  183.       IF ZLocalUserMode THEN _
  184.          GOTO 44003
  185.       CALL SetBaud
  186. * REPLACING old line(s) by new
  187. 58180 ZTurboKey = -ZTurboKeyUser
  188.       ZStackC = ZTrue
  189.       CALL AskMore (ExtraPrompt$, ZTrue, ZFalse,AbortIndex,ZFalse)
  190.       IF ZSubParm = -1 THEN _
  191.          GOTO 58183
  192.       IF ZNo THEN _
  193.          GOTO 58183
  194.       CALL AllCaps (ZUserIn$(1))
  195.       IF ZUserIn$(1) = "V" THEN _
  196.          ZLastIndex = ZWasQ : _
  197.          ZAnsIndex = 1 : _
  198.          CALL GetArc : _
  199. * ------[ first line different ]------
  200.          ZJumpSupported = ZTrue : _                                  ' KG022201
  201.          ZWasA = UpldIndex : _
  202.          GOSUB 58185 : _
  203.          UpldIndex = ZWasA : _
  204.          GOTO 58180
  205.       IF ZUserIn$(1) = "D" THEN _
  206.          ZOutTxt$ = "Download what file(s)" : _
  207.          ZStackC = ZTrue : _
  208.          CALL PopCmdStack : _
  209.          IF ZWasQ = 0 THEN _
  210.             GOTO 58180
  211.       IF ZJumpSearching THEN _
  212.          PrevSearch$ = SearchFor$ : _
  213.          SearchFor$ = ZJumpTo$ _
  214.       ELSE SearchFor$ = SearchString$ : _
  215.            IF LEN(ZUserIn$(1)) > 1 THEN _
  216.            IF NOT ZYes AND CanDnld THEN _
  217.               CALL SkipLine (1) : _
  218.               DnldFlag = UpldIndex : _
  219.               ZLastIndex = ZWasQ : _
  220.               ZAnsIndex = 1 : _
  221.               EXIT SUB
  222.       IF ZNonStop THEN IF UpldIndex > 999 THEN _
  223.          IF (SearchDate$ = "" OR NOT ZExpertUser) THEN _
  224.             ZOutTxt$ = STR$(UpldIndex) + _
  225.                " lines left to search.  Really go non-stop? (Y/[N])" : _
  226.             ZNoAdvance = ZTrue : _
  227.             ZTurboKey = -ZTurboKeyUser : _
  228.             ZSubParm = 1 : _
  229.             CALL TGet : _
  230.             CALL WipeLine (79) : _
  231.             ZNonStop = ZYes
  232.       FMSCheckPoint = 0
  233.       GOTO 58168
  234.